package com.situ.crm.quartz;

import com.situ.crm.pojo.entity.User;
import com.situ.crm.service.ICustomerLossService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.Scheduled;

/**
 *
 * 查找客户流失，定时任务
 */
// 在xml中通过<bean></bean>来new一个对象放到容器中
// @Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法
// @Configuration注解是包含@Component注解的，如果只是想把new一个对象放到容器中，只需要使用@Component，
// 如果还希望当成一个配置类，那么就可以使用@Configuration，相当于原来spring中xml文件
@Configuration
public class FindCustomerLossJob {
    @Autowired
    private ICustomerLossService customerLossService;

    @Scheduled(cron = "0 */1 * * * ? ")
    public void checkCustomerLoss() {
        System.out.println("work");
        //查询最近六个月没有订单的客户
        //将相应的数据插入到CustomerLoss表里面
        customerLossService.checkCustomerLoss();
    }

    // @Bean将方法返回的对象放到Spring容器中
    // <bean></bean>
    @Bean
    public User createUser() {
        User user = new User();
        user.setName("张三");
        return  user;
    }
}
